[INFO] fetching crate turul-mcp-derive 0.3.24...
[INFO] testing turul-mcp-derive-0.3.24 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate turul-mcp-derive 0.3.24 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate turul-mcp-derive 0.3.24
[INFO] finished tweaking crates.io crate turul-mcp-derive 0.3.24
[INFO] tweaked toml for crates.io crate turul-mcp-derive 0.3.24 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate turul-mcp-derive 0.3.24 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate turul-mcp-derive 0.3.24 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded turul-mcp-json-rpc-server v0.3.24
[INFO] [stderr]   Downloaded turul-mcp-protocol v0.3.24
[INFO] [stderr]   Downloaded turul-mcp-protocol-2025-11-25 v0.3.24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0faed4e7b0e306806fc94e9a56b3f65128c44017dd2a992f19ccdf53e6847106
[INFO] running `Command { std: "docker" "start" "-a" "0faed4e7b0e306806fc94e9a56b3f65128c44017dd2a992f19ccdf53e6847106", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0faed4e7b0e306806fc94e9a56b3f65128c44017dd2a992f19ccdf53e6847106", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0faed4e7b0e306806fc94e9a56b3f65128c44017dd2a992f19ccdf53e6847106", kill_on_drop: false }`
[INFO] [stdout] 0faed4e7b0e306806fc94e9a56b3f65128c44017dd2a992f19ccdf53e6847106
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 09c22af8def89feda3f4a9f59995190d1ae2dd60c956737f87251ae012775a4b
[INFO] running `Command { std: "docker" "start" "-a" "09c22af8def89feda3f4a9f59995190d1ae2dd60c956737f87251ae012775a4b", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling turul-mcp-json-rpc-server v0.3.24
[INFO] [stderr]    Compiling turul-mcp-protocol-2025-11-25 v0.3.24
[INFO] [stderr]    Compiling turul-mcp-protocol v0.3.24
[INFO] [stderr]    Compiling turul-mcp-derive v0.3.24 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.60s
[INFO] running `Command { std: "docker" "inspect" "09c22af8def89feda3f4a9f59995190d1ae2dd60c956737f87251ae012775a4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09c22af8def89feda3f4a9f59995190d1ae2dd60c956737f87251ae012775a4b", kill_on_drop: false }`
[INFO] [stdout] 09c22af8def89feda3f4a9f59995190d1ae2dd60c956737f87251ae012775a4b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 08cd6042fb5bed338ecc0c0f340463ede9b95ddaf4dc1634ef8f89fbd0ca8089
[INFO] running `Command { std: "docker" "start" "-a" "08cd6042fb5bed338ecc0c0f340463ede9b95ddaf4dc1634ef8f89fbd0ca8089", kill_on_drop: false }`
[INFO] [stderr]    Compiling turul-mcp-derive v0.3.24 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.15s
[INFO] running `Command { std: "docker" "inspect" "08cd6042fb5bed338ecc0c0f340463ede9b95ddaf4dc1634ef8f89fbd0ca8089", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08cd6042fb5bed338ecc0c0f340463ede9b95ddaf4dc1634ef8f89fbd0ca8089", kill_on_drop: false }`
[INFO] [stdout] 08cd6042fb5bed338ecc0c0f340463ede9b95ddaf4dc1634ef8f89fbd0ca8089
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 46b3b3ac5bc2783596f8a256ff4a093a6fdcea2e2536e0d94cd08c0af6e3b0f4
[INFO] running `Command { std: "docker" "start" "-a" "46b3b3ac5bc2783596f8a256ff4a093a6fdcea2e2536e0d94cd08c0af6e3b0f4", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/turul_mcp_derive-af36089673879e9f)
[INFO] [stdout] 
[INFO] [stdout] running 153 tests
[INFO] [stdout] test elicitation_derive::tests::test_missing_elicitation_attribute ... ok
[INFO] [stdout] test completion_derive::tests::test_resource_completion ... ok
[INFO] [stdout] test elicitation_derive::tests::test_elicitation_trait_implementations ... ok
[INFO] [stdout] test completion_derive::tests::test_simple_completion ... ok
[INFO] [stdout] test elicitation_derive::tests::test_empty_elicitation_message ... ok
[INFO] [stdout] test elicitation_derive::tests::test_missing_message ... ok
[INFO] [stdout] test elicitation_derive::tests::test_different_field_types ... ok
[INFO] [stdout] test completion_derive::tests::test_minimal_completion ... ok
[INFO] [stdout] test json_schema_derive::tests::test_enum_should_error ... ok
[INFO] [stdout] test json_schema_derive::tests::test_qualified_option_type ... ok
[INFO] [stdout] test elicitation_derive::tests::test_simple_elicitation ... ok
[INFO] [stdout] test json_schema_derive::tests::test_complex_struct_schema ... ok
[INFO] [stdout] test json_schema_derive::tests::test_simple_struct_schema ... ok
[INFO] [stdout] test json_schema_derive::tests::test_option_type_schemas ... ok
[INFO] [stdout] test json_schema_derive::tests::test_unit_struct_schema ... ok
[INFO] [stdout] test logging_derive::tests::test_debug_logger ... ok
[INFO] [stdout] test logging_derive::tests::test_minimal_logger ... ok
[INFO] [stdout] test logging_derive::tests::test_simple_logger ... ok
[INFO] [stdout] test logging_derive::tests::test_error_logger ... ok
[INFO] [stdout] test macros::completion::tests::test_completion_macro_parse ... ok
[INFO] [stdout] test macros::completion::tests::test_completion_macro_unit_struct ... ok
[INFO] [stdout] test macros::elicitation::tests::test_elicitation_macro_unit_struct ... ok
[INFO] [stdout] test macros::logging::tests::test_logging_macro_unit_struct ... ok
[INFO] [stdout] test macros::notification::tests::test_notification_macro_unit_struct ... ok
[INFO] [stdout] test macros::elicitation::tests::test_elicitation_macro_parse ... ok
[INFO] [stdout] test macros::notification::tests::test_zero_config_method_generation ... ok
[INFO] [stdout] test macros::resource::tests::test_resource_macro_parse ... ok
[INFO] [stdout] test macros::schema::tests::test_schema_for_primitive_types ... ignored
[INFO] [stdout] test macros::roots::tests::test_roots_macro_with_params ... ok
[INFO] [stdout] test notification_derive::tests::test_zero_config_method_generation ... ok
[INFO] [stdout] test notification_derive::tests::test_initialized_notification ... ok
[INFO] [stdout] test notification_derive::tests::test_resource_updated_notification ... ok
[INFO] [stdout] test macros::resource::tests::test_resource_macro_parse_with_title ... ok
[INFO] [stdout] test macros::roots::tests::test_roots_macro_read_only_string ... ok
[INFO] [stdout] test macros::logging::tests::test_logging_macro_parse ... ok
[INFO] [stdout] test macros::notification::tests::test_notification_macro_parse ... ok
[INFO] [stdout] test prompt_derive::tests::test_missing_name ... ok
[INFO] [stdout] test prompt_derive::tests::test_missing_prompt_attribute ... ok
[INFO] [stdout] test notification_derive::tests::test_zero_config_notification ... ok
[INFO] [stdout] test prompt_derive::tests::test_prompt_with_no_arguments ... ok
[INFO] [stdout] test macros::roots::tests::test_roots_macro_simple ... ok
[INFO] [stdout] test prompt_derive::tests::test_simple_prompt ... ok
[INFO] [stdout] test prompt_derive::tests::test_unit_struct_prompt ... ok
[INFO] [stdout] test prompt_derive::tests::test_prompt_argument_generation ... ok
[INFO] [stdout] test prompt_derive::tests::test_mixed_argument_types ... ok
[INFO] [stdout] test notification_derive::tests::test_special_notification_types ... ok
[INFO] [stdout] test resource_attr::tests::test_resource_metadata_traits ... ok
[INFO] [stdout] test resource_attr::tests::test_basic_mcp_resource ... ok
[INFO] [stdout] test resource_attr::tests::test_mcp_resource_without_title ... ok
[INFO] [stdout] test resource_attr::tests::test_generated_struct_name ... ok
[INFO] [stdout] test resource_attr::tests::test_mcp_resource_with_multiple_parameters ... ok
[INFO] [stdout] test resource_derive::tests::test_mime_type_attribute ... ok
[INFO] [stdout] test resource_derive::tests::test_missing_attributes ... ok
[INFO] [stdout] test resource_derive::tests::test_tuple_struct ... ok
[INFO] [stdout] test resource_derive::tests::test_resource_title_attribute ... ok
[INFO] [stdout] test roots_derive::tests::test_minimal_root ... ok
[INFO] [stdout] test roots_derive::tests::test_missing_uri ... ok
[INFO] [stdout] test prompt_derive::tests::test_prompt_trait_implementations ... ok
[INFO] [stdout] test resource_attr::tests::test_mcp_resource_missing_uri ... ok
[INFO] [stdout] test roots_derive::tests::test_read_only_root ... ok
[INFO] [stdout] test resource_attr::tests::test_mcp_resource_with_title ... ok
[INFO] [stdout] test resource_attr::tests::test_mcp_resource_with_template_variables ... ok
[INFO] [stdout] test resource_attr::tests::test_mcp_resource_with_params_argument ... ok
[INFO] [stdout] test roots_derive::tests::test_root_with_boolean_literal ... ok
[INFO] [stdout] test roots_derive::tests::test_complex_root_with_all_attributes ... ok
[INFO] [stdout] test resource_derive::tests::test_unit_struct ... ok
[INFO] [stdout] test sampling_derive::tests::test_minimal_sampling ... ok
[INFO] [stdout] test roots_derive::tests::test_root_trait_implementations ... ok
[INFO] [stdout] test resource_derive::tests::test_simple_resource ... ok
[INFO] [stdout] test notification_derive::tests::test_notification_trait_implementations ... ok
[INFO] [stdout] test macros::shared::tests::test_capitalize ... ok
[INFO] [stdout] test resource_derive::tests::test_resource_no_title_returns_none ... ok
[INFO] [stdout] test notification_derive::tests::test_minimal_notification ... ok
[INFO] [stdout] test notification_derive::tests::test_cancelled_notification ... ok
[INFO] [stdout] test sampling_derive::tests::test_sampling_with_custom_tokens ... ok
[INFO] [stdout] test sampling_derive::tests::test_simple_sampling ... ok
[INFO] [stdout] test notification_derive::tests::test_resources_changed_notification ... ok
[INFO] [stdout] test tests::comprehensive_tests::derive_macro_tests::test_derive_with_enum ... ok
[INFO] [stdout] test tests::comprehensive_tests::derive_macro_tests::test_derive_with_tuple_struct ... ok
[INFO] [stdout] test tests::comprehensive_tests::derive_macro_tests::test_derive_with_constraints ... ok
[INFO] [stdout] test tests::comprehensive_tests::derive_macro_tests::test_derive_with_optional_fields ... ok
[INFO] [stdout] test tests::comprehensive_tests::edge_case_tests::test_special_characters_in_descriptions ... ok
[INFO] [stdout] test tests::comprehensive_tests::edge_case_tests::test_many_parameters ... ok
[INFO] [stdout] test roots_derive::tests::test_simple_root ... ok
[INFO] [stdout] test tests::comprehensive_tests::edge_case_tests::test_very_long_parameter_names ... ok
[INFO] [stdout] test tests::comprehensive_tests::function_attribute_tests::test_missing_name_in_function_attribute ... ok
[INFO] [stdout] test tests::comprehensive_tests::function_attribute_tests::test_simple_function_attribute ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_extraction_tests::test_option_type_extraction ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_extraction_tests::test_optional_field_extraction ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_extraction_tests::test_required_number_extraction ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_extraction_tests::test_required_string_extraction ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_meta_tests::test_no_param_attributes ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_meta_tests::test_optional_param_meta ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_integer_schema_generation ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_meta_tests::test_param_with_all_attributes ... ok
[INFO] [stdout] test tests::comprehensive_tests::edge_case_tests::test_empty_struct ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_meta_tests::test_param_with_min_max ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_number_schema_with_constraints ... ok
[INFO] [stdout] test tests::comprehensive_tests::param_meta_tests::test_simple_param_meta ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_option_u32_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_boolean_schema_generation ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_option_fixed_array_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_fixed_array_f64_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::derive_macro_tests::test_simple_derive_macro ... ok
[INFO] [stdout] test notification_derive::tests::test_camel_to_snake_case_conversion ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_option_string_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_option_vec_string_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_fixed_array_string_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_fixed_array_i32_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::function_attribute_tests::test_function_with_parameter_attributes ... ok
[INFO] [stdout] test tests::comprehensive_tests::tool_meta_tests::test_missing_name_attribute ... ok
[INFO] [stdout] test tests::comprehensive_tests::tool_meta_tests::test_extract_tool_meta_with_complex_description ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_vec_string_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::function_attribute_tests::test_missing_description_in_function_attribute ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_string_schema_generation ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_qualified_vec_string_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_unknown_type_uses_schemars ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_option_f64_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::test_utilities::test_helper_functions ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_qualified_option_bool_schema ... ok
[INFO] [stdout] test tests::comprehensive_tests::tool_meta_tests::test_extract_simple_tool_meta ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_error_handling_no_tool_attribute ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_param_meta_extraction_works ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_derive_macro_rejects_enum ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_param_meta_with_constraints ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_derive_macro_rejects_tuple_struct ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_error_handling_missing_description ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_error_handling_missing_name ... ok
[INFO] [stdout] test tests::comprehensive_tests::tool_meta_tests::test_missing_description_attribute ... ok
[INFO] [stdout] test tests::comprehensive_tests::tool_meta_tests::test_no_tool_attribute ... ok
[INFO] [stdout] test tests::comprehensive_tests::schema_generation_tests::test_option_bool_schema ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_tool_meta_extraction_works ... ok
[INFO] [stdout] test tests::simplified_tests::generation_tests::test_type_to_schema_generates_valid_tokens ... ok
[INFO] [stdout] test tool_attr::tests::test_wrong_type_for_bool_annotation_produces_error ... ok
[INFO] [stdout] test tests::simplified_tests::generation_tests::test_param_extraction_generates_valid_tokens ... ok
[INFO] [stdout] test tests::simplified_tests::integration_tests::test_end_to_end_function_tool ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_param_meta_with_optional ... ok
[INFO] [stdout] test tool_derive::tests::test_simple_tool_derive ... ok
[INFO] [stdout] test tool_derive::tests::test_derive_partial_annotations ... ok
[INFO] [stdout] test tests::simplified_tests::integration_tests::test_end_to_end_simple_tool ... ok
[INFO] [stdout] test tool_derive::tests::test_derive_title_routes_to_base_metadata ... ok
[INFO] [stdout] test tool_derive::tests::test_derive_no_annotations_backward_compat ... ok
[INFO] [stdout] test tool_attr::tests::test_capitalize ... ok
[INFO] [stdout] test tool_derive::tests::test_zero_config_tool ... ok
[INFO] [stdout] test tool_attr::tests::test_function_tool_all_annotations ... ok
[INFO] [stdout] test tool_attr::tests::test_function_tool_no_annotations ... ok
[INFO] [stdout] test tool_derive::tests::test_derive_all_annotations ... ok
[INFO] [stdout] test tool_attr::tests::test_simple_function_tool ... ok
[INFO] [stdout] test tool_derive::tests::test_derive_annotation_title_routes_to_annotations ... ok
[INFO] [stdout] test tests::simplified_tests::generation_tests::test_complex_derive_macro_scenario ... ok
[INFO] [stdout] test tool_derive::tests::test_zero_config_without_tool_suffix ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_derive_macro_compiles ... ok
[INFO] [stdout] test tests::simplified_tests::basic_tests::test_function_attribute_compiles ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 152 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests turul_mcp_derive
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test src/lib.rs - derive_mcp_completion (line 536) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_tool (line 211) - compile ... ok
[INFO] [stdout] test src/lib.rs - derive_mcp_elicitation (line 469) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_prompt (line 491) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - completion (line 771) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_logger (line 559) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_sampling (line 513) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_tool (line 236) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_json_schema (line 381) - compile ... ok
[INFO] [stdout] test src/lib.rs - derive_mcp_notification (line 609) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - (line 33) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_resource (line 342) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - elicitation (line 794) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - (line 48) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - (line 84) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - logging (line 836) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - mcp_tool (line 271) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_root (line 582) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - sampling (line 712) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - mcp_resource (line 312) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - schema_for (line 445) - compile ... ok
[INFO] [stdout] test src/lib.rs - resource (line 410) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - prompt (line 672) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - derive_mcp_tool (line 172) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - notification (line 749) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - roots (line 816) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - tool (line 634) - compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - derive_mcp_completion (line 536) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:539:5
[INFO] [stdout]     |
[INFO] [stdout] 539 | use turul_mcp_builders::prelude::{CompletionDefinition, HasCompletionHandling};
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:541:10
[INFO] [stdout]     |
[INFO] [stdout] 541 | #[derive(McpCompletion)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpCompletion` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_elicitation (line 469) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:473:10
[INFO] [stdout]     |
[INFO] [stdout] 473 | #[derive(McpElicitation)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpElicitation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_prompt (line 491) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:495:10
[INFO] [stdout]     |
[INFO] [stdout] 495 | #[derive(McpPrompt)]
[INFO] [stdout]     |          ^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the derive macro `McpPrompt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - completion (line 771) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:774:5
[INFO] [stdout]     |
[INFO] [stdout] 774 | use turul_mcp_builders::prelude::HasCompletionHandling;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:776:1
[INFO] [stdout]     |
[INFO] [stdout] 776 | / completion! {
[INFO] [stdout] 777 | |     text_editor {
[INFO] [stdout] 778 | |         context: String = "Editor context",
[INFO] [stdout] 779 | |         cursor_position: u32 = "Cursor position"
[INFO] [stdout] 780 | |     }
[INFO] [stdout] 781 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `turul_mcp_derive::McpCompletion` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_logger (line 559) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:562:5
[INFO] [stdout]     |
[INFO] [stdout] 562 | use turul_mcp_builders::prelude::{HasLoggingMetadata, LoggerDefinition, HasLogLevel};
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:564:10
[INFO] [stdout]     |
[INFO] [stdout] 564 | #[derive(McpLogger)]
[INFO] [stdout]     |          ^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpLogger` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_sampling (line 513) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:518:10
[INFO] [stdout]     |
[INFO] [stdout] 518 | #[derive(McpSampling)]
[INFO] [stdout]     |          ^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpSampling` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_tool (line 236) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(McpTool, Clone)]
[INFO] [stdout]     |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the derive macro `McpTool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]    --> src/lib.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 | use turul_mcp_server::SessionContext;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 240 - use turul_mcp_server::SessionContext;
[INFO] [stdout] 240 + use turul_mcp_derive::SessionContext;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(McpTool, Clone)]
[INFO] [stdout]     |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpTool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_notification (line 609) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:613:10
[INFO] [stdout]     |
[INFO] [stdout] 613 | #[derive(McpNotification, Default)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpNotification` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 33) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]   --> src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[mcp_tool(name = "add", description = "Add two numbers")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `mcp_tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]   --> src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use turul_mcp_server::McpResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 36 - use turul_mcp_server::McpResult;
[INFO] [stdout] 36 + use turul_mcp_derive::McpResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]   --> src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[mcp_tool(name = "add", description = "Add two numbers")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `mcp_tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 38 - #[mcp_tool(name = "add", description = "Add two numbers")]
[INFO] [stdout] 38 + turul_mcp_derive
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_resource (line 342) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | use turul_mcp_builders::prelude::HasResourceUri;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]    --> src/lib.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | use turul_mcp_server::{McpResource, McpResult, SessionContext};
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 347 - use turul_mcp_server::{McpResource, McpResult, SessionContext};
[INFO] [stdout] 347 + use turul_mcp_derive::{McpResource, McpResult, SessionContext};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:352:10
[INFO] [stdout]     |
[INFO] [stdout] 352 | #[derive(McpResource, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the derive macro `McpResource` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - elicitation (line 794) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:798:1
[INFO] [stdout]     |
[INFO] [stdout] 798 | / elicitation! {
[INFO] [stdout] 799 | |     user_details, "Please provide your information" {
[INFO] [stdout] 800 | |         name: String = "Full name",
[INFO] [stdout] 801 | |         email: String = "Email address"
[INFO] [stdout] 802 | |     }
[INFO] [stdout] 803 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `turul_mcp_derive::McpElicitation` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 48) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]   --> src/lib.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(McpTool, Clone)]
[INFO] [stdout]    |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the derive macro `McpTool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use turul_mcp_server::{McpResult, SessionContext};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 51 - use turul_mcp_server::{McpResult, SessionContext};
[INFO] [stdout] 51 + use turul_mcp_derive::{McpResult, SessionContext};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]   --> src/lib.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(McpTool, Clone)]
[INFO] [stdout]    |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `McpTool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 84) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]   --> src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | use turul_mcp_server::McpResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 88 - use turul_mcp_server::McpResult;
[INFO] [stdout] 88 + use turul_mcp_derive::McpResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 | / #[mcp_resource(
[INFO] [stdout] 91 | |     uri = "file:///data/{filename}.json",
[INFO] [stdout] 92 | |     description = "Dynamic JSON data files"
[INFO] [stdout] 93 | | )]
[INFO] [stdout]    | |__^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `mcp_resource` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 | / #[mcp_resource(
[INFO] [stdout] 91 | |     uri = "file:///data/{filename}.json",
[INFO] [stdout] 92 | |     description = "Dynamic JSON data files"
[INFO] [stdout] 93 | | )]
[INFO] [stdout]    | |__^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `mcp_resource` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 90 - #[mcp_resource(
[INFO] [stdout] 91 -     uri = "file:///data/{filename}.json",
[INFO] [stdout] 92 -     description = "Dynamic JSON data files"
[INFO] [stdout] 93 - )]
[INFO] [stdout] 90 + turul_mcp_derive
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - logging (line 836) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:840:5
[INFO] [stdout]     |
[INFO] [stdout] 840 | use turul_mcp_builders::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:842:1
[INFO] [stdout]     |
[INFO] [stdout] 842 | / logging! {
[INFO] [stdout] 843 | |     file_logger {
[INFO] [stdout] 844 | |         log_level: String = "Logging level",
[INFO] [stdout] 845 | |         file_path: String = "Log file path"
[INFO] [stdout] 846 | |     }
[INFO] [stdout] 847 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `turul_mcp_derive::McpLogger` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - mcp_tool (line 271) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[mcp_tool(name = "multiply", description = "Multiply two numbers")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the attribute macro `mcp_tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[mcp_tool(name = "multiply", description = "Multiply two numbers")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `mcp_tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 276 - #[mcp_tool(name = "multiply", description = "Multiply two numbers")]
[INFO] [stdout] 276 + turul_mcp_derive
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_root (line 582) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:585:5
[INFO] [stdout]     |
[INFO] [stdout] 585 | use turul_mcp_builders::prelude::{HasRootFiltering, HasRootPermissions, RootDefinition, HasRootMetadata};
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:587:10
[INFO] [stdout]     |
[INFO] [stdout] 587 | #[derive(McpRoot)]
[INFO] [stdout]     |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpRoot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - sampling (line 712) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]    --> src/lib.rs:717:22
[INFO] [stdout]     |
[INFO] [stdout] 717 |   let text_generator = sampling! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 718 | |     max_tokens: 1000,
[INFO] [stdout] 719 | |     temperature: 0.7,
[INFO] [stdout] 720 | |     system_prompt: "You are a helpful AI assistant",
[INFO] [stdout] ...   |
[INFO] [stdout] 734 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `sampling` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 717 - let text_generator = sampling! {
[INFO] [stdout] 718 -     max_tokens: 1000,
[INFO] [stdout] 719 -     temperature: 0.7,
[INFO] [stdout] 720 -     system_prompt: "You are a helpful AI assistant",
[INFO] [stdout] 721 -     handler: |request| async move {
[INFO] [stdout] 722 -         // Implementation would call actual model API
[INFO] [stdout] 723 -         let response_text = "Generated response based on the input";
[INFO] [stdout] 724 -         Ok(CreateMessageResult::new(
[INFO] [stdout] 725 -             Role::Assistant,
[INFO] [stdout] 726 -             ContentBlock::Text {
[INFO] [stdout] 727 -                 text: response_text.to_string(),
[INFO] [stdout] 728 -                 annotations: None,
[INFO] [stdout] 729 -                 meta: None,
[INFO] [stdout] 730 -             },
[INFO] [stdout] 731 -             "claude-3-haiku"
[INFO] [stdout] 732 -         ))
[INFO] [stdout] 733 -     }
[INFO] [stdout] 734 - };
[INFO] [stdout] 717 + let text_generator = turul_mcp_derive;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:717:22
[INFO] [stdout]     |
[INFO] [stdout] 717 |   let text_generator = sampling! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 718 | |     max_tokens: 1000,
[INFO] [stdout] 719 | |     temperature: 0.7,
[INFO] [stdout] 720 | |     system_prompt: "You are a helpful AI assistant",
[INFO] [stdout] ...   |
[INFO] [stdout] 734 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the macro `sampling` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - mcp_resource (line 312) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]    --> src/lib.rs:316:5
[INFO] [stdout]     |
[INFO] [stdout] 316 | use turul_mcp_server::McpResult;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 316 - use turul_mcp_server::McpResult;
[INFO] [stdout] 316 + use turul_mcp_derive::McpResult;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:318:1
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[mcp_resource(uri = "file:///asx/timeline/{ticker}.json", description = "Timeline for ticker")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the attribute macro `mcp_resource` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:318:1
[INFO] [stdout]     |
[INFO] [stdout] 318 | #[mcp_resource(uri = "file:///asx/timeline/{ticker}.json", description = "Timeline for ticker")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `mcp_resource` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 318 - #[mcp_resource(uri = "file:///asx/timeline/{ticker}.json", description = "Timeline for ticker")]
[INFO] [stdout] 318 + turul_mcp_derive
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - resource (line 410) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:414:23
[INFO] [stdout]     |
[INFO] [stdout] 414 |   let config_resource = resource! {
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 415 | |     uri: "file://config.json",
[INFO] [stdout] 416 | |     name: "Configuration",
[INFO] [stdout] 417 | |     description: "Application configuration file",
[INFO] [stdout] ...   |
[INFO] [stdout] 429 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `resource` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 414 - let config_resource = resource! {
[INFO] [stdout] 415 -     uri: "file://config.json",
[INFO] [stdout] 416 -     name: "Configuration",
[INFO] [stdout] 417 -     description: "Application configuration file",
[INFO] [stdout] 418 -     content: |_, _| async {
[INFO] [stdout] 419 -         let config = serde_json::json!({
[INFO] [stdout] 420 -             "app_name": "Test App",
[INFO] [stdout] 421 -             "version": "1.0.0"
[INFO] [stdout] 422 -         });
[INFO] [stdout] 423 -         Ok(vec![turul_mcp_protocol::resources::ResourceContent::blob(
[INFO] [stdout] 424 -             "file://config.json".to_string(),
[INFO] [stdout] 425 -             serde_json::to_string_pretty(&config).unwrap(),
[INFO] [stdout] 426 -             "application/json".to_string()
[INFO] [stdout] 427 -         )])
[INFO] [stdout] 428 -     }
[INFO] [stdout] 429 - };
[INFO] [stdout] 414 + let config_resource = turul_mcp_derive;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - prompt (line 672) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `turul_mcp_server`
[INFO] [stdout]    --> src/lib.rs:678:26
[INFO] [stdout]     |
[INFO] [stdout] 678 |   let code_review_prompt = prompt! {
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 679 | |     name: "code_review",
[INFO] [stdout] 680 | |     description: "Review code for quality and best practices",
[INFO] [stdout] 681 | |     arguments: {
[INFO] [stdout] ...   |
[INFO] [stdout] 697 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `prompt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 678 - let code_review_prompt = prompt! {
[INFO] [stdout] 679 -     name: "code_review",
[INFO] [stdout] 680 -     description: "Review code for quality and best practices",
[INFO] [stdout] 681 -     arguments: {
[INFO] [stdout] 682 -         code: String => "Code to review",
[INFO] [stdout] 683 -         language: String => "Programming language", required,
[INFO] [stdout] 684 -     },
[INFO] [stdout] 685 -     template: |args: Option<HashMap<String, Value>>| async move {
[INFO] [stdout] 686 -         let args = args.unwrap_or_default();
[INFO] [stdout] 687 -         let code = args.get("code").and_then(|v| v.as_str()).unwrap_or("");
[INFO] [stdout] 688 -         let lang = args.get("language").and_then(|v| v.as_str()).unwrap_or("text");
[INFO] [stdout] 689 - 
[INFO] [stdout] 690 -         Ok::<Vec<PromptMessage>, McpError>(vec![
[INFO] [stdout] 691 -             PromptMessage::user_text(format!(
[INFO] [stdout] 692 -                 "Please review this {} code for quality, security, and best practices:\n\n```{}\n{}\n```",
[INFO] [stdout] 693 -                 lang, lang, code
[INFO] [stdout] 694 -             ))
[INFO] [stdout] 695 -         ])
[INFO] [stdout] 696 -     }
[INFO] [stdout] 697 - };
[INFO] [stdout] 678 + let code_review_prompt = turul_mcp_derive;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:678:26
[INFO] [stdout]     |
[INFO] [stdout] 678 |   let code_review_prompt = prompt! {
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 679 | |     name: "code_review",
[INFO] [stdout] 680 | |     description: "Review code for quality and best practices",
[INFO] [stdout] 681 | |     arguments: {
[INFO] [stdout] ...   |
[INFO] [stdout] 697 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `prompt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 678 - let code_review_prompt = prompt! {
[INFO] [stdout] 679 -     name: "code_review",
[INFO] [stdout] 680 -     description: "Review code for quality and best practices",
[INFO] [stdout] 681 -     arguments: {
[INFO] [stdout] 682 -         code: String => "Code to review",
[INFO] [stdout] 683 -         language: String => "Programming language", required,
[INFO] [stdout] 684 -     },
[INFO] [stdout] 685 -     template: |args: Option<HashMap<String, Value>>| async move {
[INFO] [stdout] 686 -         let args = args.unwrap_or_default();
[INFO] [stdout] 687 -         let code = args.get("code").and_then(|v| v.as_str()).unwrap_or("");
[INFO] [stdout] 688 -         let lang = args.get("language").and_then(|v| v.as_str()).unwrap_or("text");
[INFO] [stdout] 689 - 
[INFO] [stdout] 690 -         Ok::<Vec<PromptMessage>, McpError>(vec![
[INFO] [stdout] 691 -             PromptMessage::user_text(format!(
[INFO] [stdout] 692 -                 "Please review this {} code for quality, security, and best practices:\n\n```{}\n{}\n```",
[INFO] [stdout] 693 -                 lang, lang, code
[INFO] [stdout] 694 -             ))
[INFO] [stdout] 695 -         ])
[INFO] [stdout] 696 -     }
[INFO] [stdout] 697 - };
[INFO] [stdout] 678 + let code_review_prompt = turul_mcp_derive;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - derive_mcp_tool (line 172) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[derive(McpTool, Clone)]
[INFO] [stdout]     |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the derive macro `McpTool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[derive(McpTool, Clone)]
[INFO] [stdout]     |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpTool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | #[derive(McpTool, Clone)]
[INFO] [stdout]     |          ^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `McpTool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:194:46
[INFO] [stdout]     |
[INFO] [stdout] 194 |     async fn execute(&self, _session: Option<turul_mcp_server::SessionContext>) -> McpResult<MyOutput> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 194 -     async fn execute(&self, _session: Option<turul_mcp_server::SessionContext>) -> McpResult<MyOutput> {
[INFO] [stdout] 194 +     async fn execute(&self, _session: Option<turul_mcp_derive::SessionContext>) -> McpResult<MyOutput> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - notification (line 749) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:753:1
[INFO] [stdout]     |
[INFO] [stdout] 753 | / notification! {
[INFO] [stdout] 754 | |     progress {
[INFO] [stdout] 755 | |         message: String = "Progress message",
[INFO] [stdout] 756 | |         percent: u32 = "Completion percentage"
[INFO] [stdout] 757 | |     }
[INFO] [stdout] 758 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `turul_mcp_derive::McpNotification` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - roots (line 816) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:819:5
[INFO] [stdout]     |
[INFO] [stdout] 819 | use turul_mcp_builders::prelude::{RootDefinition, HasRootMetadata, HasRootFiltering, HasRootPermissions};
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:821:1
[INFO] [stdout]     |
[INFO] [stdout] 821 | / roots! {
[INFO] [stdout] 822 | |     project, "/path/to/project", name = "Project Files", read_only = false
[INFO] [stdout] 823 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the derive macro `turul_mcp_derive::McpRoot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - tool (line 634) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:638:5
[INFO] [stdout]     |
[INFO] [stdout] 638 | use turul_mcp_builders::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_builders` in this scope
[INFO] [stdout]    --> src/lib.rs:640:19
[INFO] [stdout]     |
[INFO] [stdout] 640 |   let divide_tool = tool! {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 641 | |     name: "divide",
[INFO] [stdout] 642 | |     description: "Divide two numbers with validation",
[INFO] [stdout] 643 | |     read_only: false,
[INFO] [stdout] ...   |
[INFO] [stdout] 657 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_builders`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `turul_mcp_builders`, use `cargo add turul_mcp_builders` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `turul_mcp_server` in this scope
[INFO] [stdout]    --> src/lib.rs:640:19
[INFO] [stdout]     |
[INFO] [stdout] 640 |   let divide_tool = tool! {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 641 | |     name: "divide",
[INFO] [stdout] 642 | |     description: "Divide two numbers with validation",
[INFO] [stdout] 643 | |     read_only: false,
[INFO] [stdout] ...   |
[INFO] [stdout] 657 | | };
[INFO] [stdout]     | |_^ use of unresolved module or unlinked crate `turul_mcp_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 640 - let divide_tool = tool! {
[INFO] [stdout] 641 -     name: "divide",
[INFO] [stdout] 642 -     description: "Divide two numbers with validation",
[INFO] [stdout] 643 -     read_only: false,
[INFO] [stdout] 644 -     destructive: false,
[INFO] [stdout] 645 -     idempotent: true,
[INFO] [stdout] 646 -     params: {
[INFO] [stdout] 647 -         a: f64 => "Dividend (first number)",
[INFO] [stdout] 648 -         b: f64 => "Divisor (second number)",
[INFO] [stdout] 649 -     },
[INFO] [stdout] 650 -     execute: |a: f64, b: f64| async move {
[INFO] [stdout] 651 -         if b == 0.0 {
[INFO] [stdout] 652 -             Err("Division by zero")
[INFO] [stdout] 653 -         } else {
[INFO] [stdout] 654 -             Ok(format!("{} ÷ {} = {}", a, b, a / b))
[INFO] [stdout] 655 -         }
[INFO] [stdout] 656 -     }
[INFO] [stdout] 657 - };
[INFO] [stdout] 640 + let divide_tool = turul_mcp_derive;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 33)
[INFO] [stdout]     src/lib.rs - (line 48)
[INFO] [stdout]     src/lib.rs - (line 84)
[INFO] [stdout]     src/lib.rs - completion (line 771)
[INFO] [stdout]     src/lib.rs - derive_mcp_completion (line 536)
[INFO] [stdout]     src/lib.rs - derive_mcp_elicitation (line 469)
[INFO] [stdout]     src/lib.rs - derive_mcp_logger (line 559)
[INFO] [stdout]     src/lib.rs - derive_mcp_notification (line 609)
[INFO] [stdout]     src/lib.rs - derive_mcp_prompt (line 491)
[INFO] [stdout]     src/lib.rs - derive_mcp_resource (line 342)
[INFO] [stdout]     src/lib.rs - derive_mcp_root (line 582)
[INFO] [stdout]     src/lib.rs - derive_mcp_sampling (line 513)
[INFO] [stdout]     src/lib.rs - derive_mcp_tool (line 172)
[INFO] [stdout]     src/lib.rs - derive_mcp_tool (line 236)
[INFO] [stdout]     src/lib.rs - elicitation (line 794)
[INFO] [stdout]     src/lib.rs - logging (line 836)
[INFO] [stdout]     src/lib.rs - mcp_resource (line 312)
[INFO] [stdout]     src/lib.rs - mcp_tool (line 271)
[INFO] [stdout]     src/lib.rs - notification (line 749)
[INFO] [stdout]     src/lib.rs - prompt (line 672)
[INFO] [stdout]     src/lib.rs - resource (line 410)
[INFO] [stdout]     src/lib.rs - roots (line 816)
[INFO] [stdout]     src/lib.rs - sampling (line 712)
[INFO] [stdout]     src/lib.rs - tool (line 634)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 24 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.71s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 3.22s; merged doctests compilation took 2.51s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "46b3b3ac5bc2783596f8a256ff4a093a6fdcea2e2536e0d94cd08c0af6e3b0f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46b3b3ac5bc2783596f8a256ff4a093a6fdcea2e2536e0d94cd08c0af6e3b0f4", kill_on_drop: false }`
[INFO] [stdout] 46b3b3ac5bc2783596f8a256ff4a093a6fdcea2e2536e0d94cd08c0af6e3b0f4
